/*	******************************************
	File:		State.h
	Author:		Adnan Srna, Peter Kober, Ivo Havranek
	Purpose:	AugmentedReality 2
	(up)Date:	March/April 2010
	Descr.:		simple state switching
	Origin:		Salzburg University of Applied Science
	******************************************	*/

#pragma once
//#include "StateManager.h"
#include "ofMain.h"

class StateManager; //forward decleration

class State {
public:
	virtual void setup(StateManager* manager) = 0;
	virtual void update() = 0;
	virtual void draw() = 0;
	virtual ~State(){};

protected:
	virtual void changeState(StateManager* _manager, State* state);
	StateManager* manager;
};